<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>

    <script>

        // 跨域
        //    (报错  cors policy)
        //    产生的原因：受同源策略的约束
        //    解决方案：
        //       1 跨域资源共享  CORS  (服务端允许其他来源访问)
        //       2 jsonp  不是ajax,不是json
        //          利用的是script标签的src属性不受同源策略的约束，假装请求一个js文件 
        //          后端返回的是一个函数调用
        //       3 ...

        // 编码和解码
        //    编码   encodeURIComponent()
        //    解码   decodeURIComponent()

        // cookie / localStorage / sessionStorage   都是本地存储(存储在客户端，会被用户禁用或者删除)
        //   cookie         是字符串               可以设置有效期      4kb       会伴随服务器请求被携带(影响服务器的响应速度)
        //   localStorage   是对象，有系统的方法    长期有效           5MB        不会
        //   sessionStorage 是对象，有系统的方法    临时存储           5MB        不会

        //  ajax的流程

        // get和post的区别
        //   1 get从服务器获取数据，post向服务器发送数据
        //   2 方式不一样，get是随着url一起发送在地址栏可以看见 ； post是遵循http机制 ， 设置请求头，地址栏不可见
        //   3 安全性
        //   4 携带的数据大小不一样   get<2kb   post一般没有限制
        //   5 get处理数据更快，post慢

        // 数组的方法

        // 解构

        // var / let / const

        // 箭头函数和普通函数的区别
        //    this指向不一样：普通函数执向window,箭头函数没有自己的指向，跟随上一级
        //    箭头函数没有arguments  需要使用...arr 展开运算符

        // this的几种指向
        //    window / 事件源 / 对象自己 / 箭头函数  / 严格模式下，普通函数this指向undefined



        // 地狱回调

        // 回调是异步的解决方案

        // promise 是一种异步的解决方案，是一个容器，存放的是异步代码  
        //   "承诺"   成功或者失败
        //   状态  promiseState : pending  ->  fulfilled / rejected
        //   结果  promiseResult : 

        //   特点：
        //      一旦状态已经确定，就不会再改变
        //      创建之后，如果结果是失败的就直接报错 ， 使用then方法之后就不会报错

    </script>
    
</body>
</html>